<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:46881/WCFProducts.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/Common" />
  <xs:element name="GetProduct">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="productID" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetProductResult" nillable="true" type="q1:Product" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProducts">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetProductsResult" nillable="true" type="q2:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCommentsForProduct">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="productID" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCommentsForProductResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetCommentsForProductResult" nillable="true" type="q3:ArrayOfComment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRatingForProduct">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="productID" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRatingForProductResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetRatingForProductResult" type="xs:decimal" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetNoOfProductRates">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="productID" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetNoOfProductRatesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetNoOfProductRatesResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetNoOfProductComments">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="productID" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetNoOfProductCommentsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetNoOfProductCommentsResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CalculateProductAvgRating">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="productID" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CalculateProductAvgRatingResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="CalculateProductAvgRatingResult" type="xs:decimal" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCategories">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCategoriesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetCategoriesResult" nillable="true" type="q4:ArrayOfCategory" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByName">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByNameResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetProductsByNameResult" nillable="true" type="q5:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductByCategory">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="CategoryID" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductByCategoryResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetProductByCategoryResult" nillable="true" type="q6:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByDateListed">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByDateListedResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetProductsByDateListedResult" nillable="true" type="q7:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByPriceAsc">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByPriceAscResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetProductsByPriceAscResult" nillable="true" type="q8:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByPriceDesc">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByPriceDescResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetProductsByPriceDescResult" nillable="true" type="q9:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductNameInUserFaults">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="username" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductNameInUserFaultsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetProductNameInUserFaultsResult" nillable="true" type="q10:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateProduct">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="productToUpdate" nillable="true" type="q11:Product" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateProductResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetFaultStatus">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetFaultStatusResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetFaultStatusResult" nillable="true" type="q12:ArrayOfFault" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>